.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px;
  background: transparent;
}

.carousel {
  margin: 0 auto 32px;
  max-width: 1400px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

  .carouselItem {
    position: relative;
    width: 100%;
    padding-bottom: 42%;
    overflow: hidden;

    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: inherit;
      background-size: cover;
      background-position: center;
      transition: transform 0.3s ease;
    }

    &:hover::before {
      transform: scale(1.05);
    }

    .carouselContent {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 48px;
      background: linear-gradient(transparent, rgba(0, 0, 0, 80%));
      color: white;
      z-index: 1;

      h2 {
        color: white;
        font-size: min(32px, 5vw);
        margin-bottom: 16px;
      }

      p {
        font-size: min(18px, 3vw);
        margin-bottom: 24px;
        opacity: 0.9;
        max-width: 600px;
      }
    }
  }
}

.section {
  margin-bottom: 32px;
  background: white;
  padding: 32px;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);

  .sectionHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;

    h2 {
      margin: 0;
    }
  }

  :global {
    .ant-card-cover {
      margin: 0;
    }

    .ant-card-body {
      padding: 20px;
    }

    .ant-card-meta-title {
      font-size: 18px;
      margin-bottom: 12px;
      white-space: normal;
      line-height: 1.4;
    }

    .ant-card-meta-description {
      color: #666;
      line-height: 1.6;
      display: box;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
  }
}

.newsImage {
  position: relative;
  width: 100%;
  overflow: hidden;

  img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
  }

  .newsDate {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(0, 0, 0, 60%);
    color: white;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    z-index: 1;
  }

  &:hover img {
    transform: scale(1.05);
  }
}

.eventCard {
  height: 100%;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: all 0.3s;
  
  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
  
  .eventInfo {
    flex: 1;

    h3 {
      font-size: 20px;
      margin-bottom: 16px;
      color: #1a1a1a;
    }

    p {
      color: #666;
      margin-bottom: 8px;
      
      &.location {
        color: #999;
      }

      &.description {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.6;
      }
    }
  }

  .eventCountdown {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #f0f0f0;
    text-align: center;

    :global(.ant-statistic) {
      margin-bottom: 16px;
    }

    :global(.ant-statistic-content-value) {
      color: #1890ff;
      font-size: 20px;
    }

    .signupBtn {
      width: 100%;
    }
  }
}

.newsCard {
  height: 100%;
  transition: all 0.3s;
  cursor: pointer;

  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .newsImage {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;

    img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s;
    }

    &:hover img {
      transform: scale(1.05);
    }

    .newsDate {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 8px 16px;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
      color: white;
    }
  }
}

.newsContent {
  .newsText {
    margin-bottom: 12px;
    color: #666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .mediaCount {
    color: #999;
    font-size: 13px;

    span {
      margin-right: 12px;

      &:last-child {
        margin-right: 0;
      }
    }
  }
}

.mediaPreview {
  // 复制上面的 mediaPreview 相关样式
}

@media (max-width: 768px) {
  .container {
    padding: 16px;
  }

  .carousel {
    margin: 0 auto 24px;
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    
    .carouselItem {
      padding-bottom: 56.25%;

      .carouselContent {
        padding: 24px 16px;

        h2 {
          margin-bottom: 8px;
        }

        p {
          margin-bottom: 16px;
        }
      }
    }
  }

  .section {
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 12px;
  }

  .newsImage {
    min-height: 150px;
    max-height: 300px;
  }
} 

.dynamicCard {
  cursor: pointer;
  transition: all 0.3s;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);

  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .dynamicContent {
    .title {
      font-size: 18px;
      font-weight: 600;
      color: #333;
      margin-bottom: 8px;
      line-height: 1.4;
    }

    .time {
      color: #8c8c8c;
      font-size: 14px;
      margin-bottom: 12px;

      .anticon {
        margin-right: 4px;
      }
    }

    .text {
      font-size: 15px;
      line-height: 1.6;
      color: #595959;
      margin-bottom: 16px;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
  }
}

.mediaGrid {
  position: relative;
  display: grid;
  gap: 4px;
  margin-bottom: 16px;

  &.singleMedia {
    grid-template-columns: minmax(0, 2fr);
    
    .mediaWrapper {
      padding-bottom: 56.25%;
    }
  }

  &.doubleMedia {
    grid-template-columns: repeat(2, 1fr);
    
    .mediaWrapper {
      padding-bottom: 100%;
    }
  }

  &.tripleMedia {
    grid-template-columns: repeat(3, 1fr);
    
    .mediaWrapper {
      padding-bottom: 100%;
    }
  }

  &.quadMedia {
    grid-template-columns: repeat(2, 1fr);
    
    .mediaWrapper {
      padding-bottom: 100%;
    }
  }

  &.multiMedia {
    grid-template-columns: repeat(3, 1fr);
    
    .mediaWrapper {
      padding-bottom: 100%;
    }
  }

  .mediaWrapper {
    position: relative;
    overflow: hidden;
    background: #f8f8f8;
    border-radius: 4px;

    &.lastItem {
      position: absolute;
      top: 0;
      right: 0;
      width: calc(33.33% - 4px);
      padding-bottom: calc(33.33% - 4px);
      
      .moreOverlay {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        font-weight: 600;
        z-index: 1;
      }
    }

    .imageItem {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;

      :global {
        .ant-image {
          width: 100%;
          height: 100%;
          
          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }
      }
    }
  }

  .videoCount {
    position: absolute;
    left: 0;
    bottom: -28px;
    font-size: 14px;
    color: #1677ff;
    background: #e6f4ff;
    padding: 4px 8px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
  }

  .moreOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    z-index: 2;
  }
} 

:global {
  .ant-image-preview-operations {
    .ant-image-preview-switch-left,
    .ant-image-preview-switch-right {
      width: 44px;
      height: 44px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: 50%;

      &:hover {
        background: rgba(255, 255, 255, 0.3);
      }
    }
  }

  // 视频预览样式
  .ant-image-preview-body {
    video {
      display: block;
      margin: 0 auto;
    }
  }
} 